package com.cloudkinto.bo.order.allocate;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author long
 * @Description 调拨发货计划修改实体
 * @Date 2025/3/13 17:37
 */
@Data
public class AllocatePlanUpdateBo {
    @ApiModelProperty("发货计划id")
    @NotNull(message = "发货计划id不能为空")
    private Long id;

    @ApiModelProperty("地址簿id")
    @NotNull(message = "地址簿id不能为空")
    private Long addressBookId;

    @ApiModelProperty("fba店铺id")
    private Long fbaShopId;

    @ApiModelProperty("fba店铺名")
    private String fbaShopName;

    @ApiModelProperty("发货仓库id")
    @NotNull(message = "发货仓库id不能为空")
    private Long deliveryWhId;

    @ApiModelProperty("目标仓库id")
    private Long destinationWhId;

    @ApiModelProperty("物流渠道id")
    private Long logisticsChannelId;

    @ApiModelProperty("物流跟踪号")
    private String trackingNumber;

    @ApiModelProperty("总计划发货量")
    private Integer totalPlanShipments;

    @ApiModelProperty("总计划箱数")
    private Integer totalPlanBox;

    @ApiModelProperty("参考单号")
    private String referenceNumber;

    @ApiModelProperty("附件id")
    private String fileIds;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("期望到仓日期")
    private String expectedArrivalDate;

    @ApiModelProperty("期望到仓时间")
    private String expectedArrivalTime;

    @ApiModelProperty("计划发货时间")
    private String planShipmentTime;

    @ApiModelProperty("是否加急")
    private Boolean urgent;

    @ApiModelProperty(value = "三方仓产品列表")
    private List<AllocatePlan3rdWhItemUpdateBo> planItem3rdWhList;

    @ApiModelProperty(value = "fba产品列表")
    private List<AllocatePlanFbaItemUpdateBo> planItemFbaList;
}
